import request from './request'

/**
 * 创建职位申请
 * @param {Object} data 申请数据
 * @returns {Promise}
 */
export function createApplication(data) {
  return request({
    url: '/applications',
    method: 'post',
    data
  })
}

/**
 * 获取申请详情
 * @param {Number|String} id 申请ID
 * @returns {Promise}
 */
export function getApplicationDetail(id) {
  return request({
    url: `/applications/${id}`,
    method: 'get'
  })
}

/**
 * 获取用户申请列表
 * @param {Object} params 查询参数
 * @returns {Promise}
 */
export function getUserApplications(params) {
  return request({
    url: '/applications/user',
    method: 'get',
    params
  })
}

/**
 * 获取职位申请列表
 * @param {Number|String} jobId 职位ID
 * @param {Object} params 查询参数
 * @returns {Promise}
 */
export function getJobApplications(jobId, params) {
  return request({
    url: `/applications/job/${jobId}`,
    method: 'get',
    params
  })
}

/**
 * 更新申请状态
 * @param {Number|String} id 申请ID
 * @param {Number} status 状态值
 * @param {String} note 备注信息
 * @returns {Promise}
 */
export function updateApplicationStatus(id, status, note) {
  return request({
    url: `/applications/${id}/status`,
    method: 'put',
    params: {
      status,
      note
    }
  })
}

/**
 * 检查是否已申请职位
 * @param {Number|String} jobId 职位ID
 * @returns {Promise}
 */
export function checkIfApplied(jobId) {
  return request({
    url: '/applications/check',
    method: 'get',
    params: {
      jobId
    }
  })
}



/**
 * 更新面试状态
 * @param {Number|String} interviewId 面试ID
 * @param {String} status 状态 (confirmed-已确认, rejected-已拒绝, rescheduled-申请改期)
 * @param {String} note 备注信息
 * @returns {Promise}
 */
export function updateInterviewStatus(interviewId, status, note) {
  return request({
    url: `/interviews/${interviewId}/status`,
    method: 'put',
    params: {
      status,
      note
    }
  })
} 